home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / syslinux / com32 / include / sys / pci.h < prev    next >
C/C++ Source or Header  |  2005-10-29  |  712b  |  32 lines

  1. #ifndef _SYS_PCI_H
  2. #define _SYS_PCI_H
  3.  
  4. #include <inttypes.h>
  5. #include <sys/io.h>
  6.  
  7. typedef uint32_t pciaddr_t;
  8.  
  9. static inline pciaddr_t pci_mkaddr(uint32_t bus, uint32_t dev,
  10.                    uint32_t func, uint32_t reg)
  11. {
  12.   return 0x80000000 | ((bus & 0xff) << 16) | ((dev & 0x1f) << 11) |
  13.     ((func & 0x07) << 8) | (reg & 0xff);
  14. }
  15.  
  16. enum pci_config_type {
  17.   PCI_CFG_AUTO        = 0,    /* autodetect */
  18.   PCI_CFG_TYPE1        = 1,
  19.   PCI_CFG_TYPE2        = 2,
  20. };
  21.  
  22. void pci_set_config_type(enum pci_config_type);
  23.  
  24. uint8_t pci_readb(pciaddr_t);
  25. uint16_t pci_readw(pciaddr_t);
  26. uint32_t pci_readl(pciaddr_t);
  27. void pci_writeb(uint8_t, pciaddr_t);
  28. void pci_writew(uint16_t, pciaddr_t);
  29. void pci_writel(uint32_t, pciaddr_t);
  30.  
  31. #endif /* _SYS_PCI_H */
  32.